# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.884.38.2 -> 1.884.38.3 # drivers/pci/pci.c 1.38.1.3 -> 1.38.1.4 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/01/21 kaber@trash.net 1.884.37.11 # [PPP]: Handle filtering drops correctly. # -------------------------------------------- # 03/01/21 davem@nuts.ninka.net 1.903.4.1 # Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.4 # into nuts.ninka.net:/home/davem/src/BK/sparc-2.4 # -------------------------------------------- # 03/01/21 davem@nuts.ninka.net 1.903.5.1 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.4 # into nuts.ninka.net:/home/davem/src/BK/net-2.4 # -------------------------------------------- # 03/01/21 tcallawa@redhat.com 1.903.4.2 # [SPARC64]: Add USB scanner ioctls to 32-bit compat table. # -------------------------------------------- # 03/01/21 davem@nuts.ninka.net 1.903.4.3 # [USB]: rtl8150.c needs linux/init.h # -------------------------------------------- # 03/01/21 marcelo@freak.distro.conectiva 1.905 # Merge bk://are.twiddle.net/axp-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/21 marcelo@freak.distro.conectiva 1.906 # Merge bk://linux-bt.bkbits.net/bt-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/21 akpm@digeo.com 1.907 # [PATCH] Fix ext3 scheduling storm and lockup # # This patch fixes an inefficiency and potential system lockup in the 2.4 # kernel's ext3 filesystem. The problem has been present since 2.4.20-pre5. # This patch is applicable to 2.4.20. A copy is at # # http://www.zip.com.au/~akpm/linux/patches/2.4/2.4.20/ext3-scheduling-storm.patch # # Anyone who is using tasks which have realtime scheduling policy on ext3 # systems should apply this change. # # # Details: # # At the start of do_get_write_access() we have this logic: # # repeat: # lock_buffer(jh->bh); # ... # unlock_buffer(jh->bh); # ... # if (jh->j_list == BJ_Shadow) { # sleep_on_buffer(jh->bh); # goto repeat; # } # # The problem is that the unlock_buffer() will wake up anyone who is sleeping # in the sleep_on_buffer(). # # So if task A is asleep in sleep_on_buffer() and task B now runs # do_get_write_access(), task B will wake task A by accident. Task B will then # sleep on the buffer and task A will loop, will run unlock_buffer() and then # wake task B. # # Net effect: the system does 100,000 context switches/sec until I/O completes # against the buffer and kjournald changes the value of jh->j_list. # # Unless task A and task B happen to both have realtime scheduling policy - if # they do then kjournald will never run. The state is never cleared and your # box locks up. # # # The fix is to not do the `goto repeat;' until the buffer has been taken off # the shadow list. So we don't go and wake up the other waiter(s) until they # can actually proceed to use the buffer. # -------------------------------------------- # 03/01/21 akpm@digeo.com 1.908 # [PATCH] 3c59x: add 3c920 support # # Patch from Urban Widmark # # Adds support for the 3c920, which appears to be the same as a 3c905C. # # Also, re-enable the driver detection messages. These were removed when Linus # was on the rampage against excessive bootup output, but they're important for # supportability. # -------------------------------------------- # 03/01/21 marcelo@freak.distro.conectiva 1.909 # Merge bk://thebsh.namesys.com/bk/reiser3-linux-2.4-iput-ddlk-fix # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/21 olh@suse.de 1.910 # [PATCH] autofs compat for ppc # # -------------------------------------------- # 03/01/21 marcelo@freak.distro.conectiva 1.911 # Merge bk://kernel.bkbits.net/davem/sparc-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/21 marcelo@freak.distro.conectiva 1.912 # Merge bk://kernel.bkbits.net/davem/net-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/21 akpm@digeo.com 1.913 # [PATCH] fix rare BUG in ext3 # # Under rare conditions (filesystem corruption, really) it is possible # for ext3_dirty_inode() to require _two_ blocks for the transaction: one # for the inode and one to update the superblock - to set # EXT3_FEATURE_RO_COMPAT_LARGE_FILE. This causes the filesystem to go # BUG. # # So reserve an additional block for that eventuality. # # # ext3/inode.c | 2 +- # 1 files changed, 1 insertion(+), 1 deletion(-) # -------------------------------------------- # 03/01/21 hch@sgi.com 1.914 # [PATCH] cciss/cpqarray/md should use generic BLKGETSIZE # # I did that already in 2.4.9/2.4.10 timeframe but it looks like a few # offenders started duplicating code again.. # -------------------------------------------- # 03/01/21 agrover@groveronline.com 1.884.43.6 # ACPI: Handle P_BLK lengths shorter than 6 more gracefully # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.915 # [PATCH] Amiflop incorrect sti() # # Amiga floppy: fix incorrect sti() # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.916 # [PATCH] Atari ACSI exports # # Atari: The ACSI driver exports symbols # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.917 # [PATCH] M68k misc_register audit # # Correct error found in arch/m68k/ whilst auditing the use of misc_register() # in 2.5.44. # misc_register() returns 0 on success, and a negative number on failure. # (Trivial patches misc_register-02[67] from Michael Still ) # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.918 # [PATCH] Mac/m68k config fixes # # Mac/m68k fixes (from Ray Knight): # - Correct model definitions. # - Add loglevel macros to printk messages. # - Correct missing and incorrect defines. # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.919 # [PATCH] Mac/m68k early startup fixes # # Mac/m68k early startup fixes (from Ray Knight): # - Correct memory mapping for Macintosh. # - Prevent screen output from appearing twice. # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.920 # [PATCH] Mac/m68k Nubus updates # # Mac/m68k Nubus updates (from Ray Knight): # - Add missing Nubus devices. # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.921 # [PATCH] Atari NVRAM # # Atari NVRAM: Add missing definition of NVRAM_BYTES # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.922 # [PATCH] m68k typo # # Fix m68k typo (from Alan in 2.5.x) # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.923 # [PATCH] Q40 IRQ typo # # Q40 IRQ: Fix incorrect placement of curly brace # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.924 # [PATCH] Replace Mac/m68k NS8390 with daynaport driver # # Mac/m68k: the Daynaport driver was superseded by the mac8390 driver during the # 2.2 kernel series (from Ray Knight). # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.925 # [PATCH] init_rootfs() prototype # # Fix incorrect prototype of init_rootfs() (cfr. 2.5.x) # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.926 # [PATCH] M68k matroxfb # # Matroxfb: it's __mc68000__, not __m68k__ (from Andreas Schwab) # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.927 # [PATCH] register_console() comment typo # # register_console(): Fix typo in comment # -------------------------------------------- # 03/01/22 geert@linux-m68k.org 1.928 # [PATCH] Mac/m68k NCR5380 SCSI updates # # Mac/m68k NCR5380 SCSI: forward port of pseudo-DMA from 2.2.20 (from Ray Knight) # -------------------------------------------- # 03/01/22 ink@jurassic.park.msu.ru 1.929 # [PATCH] alpha update # # Marcelo, # here is the 2.4 counterpart of recent 2.5 alpha changes. # # Jeff Wiedemeier: # - two stage timeout in alpha call_function_on_cpu; # - remove redundant lock in osf_shmat (sys_shmat locks already); # - adjust virt_to_phys/phys_to_virt functions to follow # EV6/7 PA sign extension; # - add open_console/close_console callback definitions; # - improved EV6/7 machine check handler; # - make the max IDE HWIFS configurable on alpha; # - limit memory size to 32Gb for non-NUMA kernels; # - on NUMA alpha systems, attempt to allocate scatter-gather # tables local to IO processor; # - numa mm update; # - implement generic remapping functions for AGP; # - bump non-legacy kernel start addr to 16Mb to support new systems; # - platform-specific smp callins; # - irq proc update to handle a huge number of irqs on new systems # # Richard Henderson: # - expose shifts in virt_to_phys to the compiler; # - restore CIA iommu windows on shutdown # # me: # - allow probe-only PCI setup (for titan and marvel); # - enable FireWire in alpha config; # - remove ALi IDE quirk as it doesn't work since 2.4.0-test times and # the actual problem has been fixed in generic code; # - make Nautilus use the new machine check handler and remapping stuff; # - CONFIG_VERBOSE_MCHECK for CIA # # Titan, Marvel, AGP and SRMCONS updates aren't included for now. # # Ivan. # -------------------------------------------- # 03/01/22 marcel@holtmann.org 1.884.46.2 # [Bluetooth] Disable HCI flow control for vendor commands # # This patch disables the use of HCI flow control for vendor # commands. All vendor commands will be queued to hdev->raw_q # instead of hdev->cmd_q. # -------------------------------------------- # 03/01/22 gibbs@overdrive.btc.adaptec.com 1.884.1.98 # Update Aic7xxx and Aic79xx Driver Documentation # -------------------------------------------- # 03/01/22 gibbs@overdrive.btc.adaptec.com 1.884.1.99 # Bump aic79xx version number to 1.3.0 now that it # has passed functional testing. # -------------------------------------------- # 03/01/22 andrea@suse.de 1.930 # [PATCH] O_DIRECT alignment fix # # This patch will fix an O_DIRECT security problem reported to me # privately from Ken Preslan as an UL security # problem. This is not specific to UL and it affects all 2.4 kernels out # there >=2.4.10. # # In short with the attached program any user can easily sniff the old # disk contents on any fs supporting O_DIRECT. The bug also can lead to # minor fs corruption (i_size not matching the allocated blocks in the # inode). # # [...] # # AFAIK this is a so far unknown security problem, so I think it should be # advertized via the usual vendor-sec channels to give the other # vendors time to apply this fix to their >= 2.4.10 kernels. This is been # overlooked for the O_DIRECT path because these checks for the buf # alignment were executed normally (rawio) by the brw_kiovec code, but in # the O_DIRECT case we've to instead reply them before allocating the # backing store of the brw_kiovec or we would leave floating inode blocks # allocated. We should probably use a vague changelog entry like "o_direct # alignment fix" until this information is public. After it is public we # can post a further update that explains this was just fixed in the # previous update. # # Andrea # -------------------------------------------- # 03/01/23 agrover@groveronline.com 1.884.43.7 # ACPI: Update to 20030122 # -------------------------------------------- # 03/01/23 agrover@groveronline.com 1.931 # Merge groveronline.com:/root/bk/linux-2.4 # into groveronline.com:/root/bk/linux-2.4-acpi # -------------------------------------------- # 03/01/24 dwmw2@dwmw2.baythorne.internal 1.930.1.1 # Miscellaneous MTD block driver fixes. # -------------------------------------------- # 03/01/24 dwmw2@dwmw2.baythorne.internal 1.930.1.2 # MTD partitioning updates. # - Remove obsolete Compaq bootldr partitioning # - Add command line partitions which replace it # - Small fix to ARM Firmware Suite parsing # -------------------------------------------- # 03/01/25 dwmw2@dwmw2.baythorne.internal 1.930.1.3 # MTD updates: # - Add 64-bit NOR flash device support. # - Merge NAND flash identification code. # - Make NAND driver more versatile w.r.t waggling control lines # in a board-specific manner # - Change point(),unpoint() API to make it more portable # - Change ECC read/write API # - Change all drivers to reflect above. # - Many new map drivers. # - Protection Register / Secure Silicon Area support # - Various other bugfixes # -------------------------------------------- # 03/01/24 manish@Zambeel.com 1.930.2.1 # [netdrvr tg3] add support for another 5704 board, fix up 5704 phy init # -------------------------------------------- # 03/01/24 jgarzik@redhat.com 1.930.2.2 # [netdrvr tg3] more verbose failures, during initialization # -------------------------------------------- # 03/01/24 scott.feldman@intel.com 1.930.2.3 # [netdrvr e1000] allocate ethtool eeprom buffer dynamically, # rather than a large static allocation on the stack # -------------------------------------------- # 03/01/24 scott.feldman@intel.com 1.930.2.4 # [netdrvr e1000] remove /proc support # -------------------------------------------- # 03/01/24 scott.feldman@intel.com 1.930.2.5 # [netdrvr e1000] Add ethtool GSTATS support # -------------------------------------------- # 03/01/25 agrover@groveronline.com 1.932 # ACPI: Fix accidentally reverted file # -------------------------------------------- # 03/01/25 agrover@groveronline.com 1.933 # ACPI: Fix missing declaration for s4bios support # -------------------------------------------- # 03/01/25 kai@tp1.ruhr-uni-bochum.de 1.930.3.1 # Merge http://linux.bkbits.net/linux-2.4 # into tp1.ruhr-uni-bochum.de:/scratch/kai/kernel/v2.4/linux-2.4 # -------------------------------------------- # 03/01/25 kai@tp1.ruhr-uni-bochum.de 1.930.3.2 # ISDN: Improve DTMF detection # # From Wolfgang Fritz: # # > The DTMF detection is broken since kernel 2.0.x. I have a patch for a # > 2.2 kernel which may manually be applied 2.4 kernels with some manual # > work. It fixes an overflow problem in the goertzel algorithm (which # > does the basic tone detection) and changes the algorithm to detect # > the DTMF pairs. # # -------------------------------------------- # 03/01/25 kai@tp1.ruhr-uni-bochum.de 1.930.3.3 # ISDN: Fix HiSax/ISAR fax handling bug. # # This patch fixes problems with fax receiving (abort after first page, # compatibility issues with certain fax machines). # -------------------------------------------- # 03/01/25 kai@tp1.ruhr-uni-bochum.de 1.930.3.4 # ISDN: Add locking for list access # # Some of the CAPI code used unprotected lists, so racing access could # produce NULL pointer derefs. Use a proper spinlock for protection. # # (by Carsten Paeth) # -------------------------------------------- # 03/01/27 maxk@qualcomm.com 1.884.40.4 # [Bluetooth] Add support for vendor specific commands. # All vendor commands are treated as raw data and # applications are responsible for flow control. # -------------------------------------------- # 03/01/27 kai@tp1.ruhr-uni-bochum.de 1.930.3.5 # ISDN: Add ISDN side support for Auerswald USB ISDN support # # This patch by Wolfgang Muees makes the necessary changes in the ISDN # code to prepare for supporting the Auserwald USB ISDN device. It # converts the HDLC de/encode to be a module of its own. # # It also fixes a bug in the ST5481 driver, which forgot to bit-reverse # audio data. # -------------------------------------------- # 03/01/27 kai@tp1.ruhr-uni-bochum.de 1.930.3.6 # ISDN: Small HiSax cleanups # # o Explicitly export symbols from the new isdn_hdlc.o module # o Remove empty module_init()/exit() functions # o Config.in had forward references to USB, which the kernel # config system does not handle correctly, so remove them. This # needs proper fixing at some point. # -------------------------------------------- # 03/01/27 davem@nuts.ninka.net 1.930.4.1 # [TCP]: Add tcp_low_latency sysctl. # Currently it turns of prequeue processing, but more decisions # may be guided by it in the future. # # Based upon a patch from Andi Kleen. # -------------------------------------------- # 03/01/27 hch@sgi.com 1.930.1.4 # [PATCH] properly handle too long pathnames in d_path # # See http://cert.uni-stuttgart.de/archive/bugtraq/2002/03/msg00384.html # for the security implications. # -------------------------------------------- # 03/01/27 davem@nuts.ninka.net 1.930.4.2 # [TCP]: Fix typo in TCP_LOW_LATENCY changes. # -------------------------------------------- # 03/01/28 marcelo@freak.distro.conectiva 1.930.1.5 # Merge bk://kernel.bkbits.net/davem/net-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/28 marcelo@freak.distro.conectiva 1.930.1.6 # Merge http://linux-isdn.bkbits.net/linux-2.4.isdn # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/28 marcelo@freak.distro.conectiva 1.930.1.7 # Merge bk://kernel.bkbits.net/jgarzik/net-drivers-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/01/28 stelian@popies.net 1.930.1.8 # [PATCH] make sonypi use ec_read/ec_write from ACPI patch # # Hi, # # This patch avoids a conflict between the sonypi driver and the # latest ACPI patch, by letting sonypi use the ACPI provided # functions ec_read/ec_write. # # A variant of this patch (without the conditional testing of the # ACPI version) is already used in the 2.5 kernel. # # Credits for the patch go to Ducrot Bruno. # # Marcelo, Alan, please apply this to your trees. # # Thanks, # # Stelian. # # ===== drivers/char/sonypi.h 1.13 vs edited ===== # -------------------------------------------- # 03/01/28 bjorn_helgaas@hp.com 1.884.38.3 # PCI: disable decoding while sizing BARs bugfix (re-enable before return) # -------------------------------------------- # diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c --- a/drivers/pci/pci.c Wed Oct 8 09:08:24 2003 +++ b/drivers/pci/pci.c Wed Oct 8 09:08:24 2003 @@ -1130,7 +1130,7 @@ if (sz && sz != 0xffffffff) { sz = pci_size(l, sz, PCI_ROM_ADDRESS_MASK); if (!sz) - return; + goto out; res->flags = (l & PCI_ROM_ADDRESS_ENABLE) | IORESOURCE_MEM | IORESOURCE_PREFETCH | IORESOURCE_READONLY | IORESOURCE_CACHEABLE; res->start = l & PCI_ROM_ADDRESS_MASK; @@ -1138,6 +1138,7 @@ } } +out: pci_write_config_word(dev, PCI_COMMAND, cmd); }